package main

import (
	"fmt"
	"time"
	"yunj/app/es/config"
	_ "yunj/pkg/boot"
	"yunj/pkg/global"
)

// 重置所有数据
// 会备份原索引
func Reset() error {
	if !global.Config.Elasticsearch.Enable {
		return fmt.Errorf("ES未启用！")
	}
	var err error
	bkMark := time.Now().Format("20060102150405")
	global.Logger.Info(fmt.Sprintf("ES索引重置开始！%s", bkMark))
	for _, index := range config.Indexs {
		if err = index.IndexReset(bkMark); err != nil {
			return fmt.Errorf("ES索引%s重置失败！%v", index.FullName(), err)
		} else {
			global.Logger.Info(fmt.Sprintf("ES索引%s重置成功！%s", index.FullName(), bkMark))
		}
	}
	// 成功日志
	global.Logger.Info(fmt.Sprintf("ES索引重置成功！%s", bkMark))
	return nil
}

func main() {
	err := Reset()
	if err != nil {
		panic(err)
	}
}
